table of contents
PMDANAME(3) | Library Functions Manual | PMDANAME(3) |
NAME¶
pmdaName - translate a PMID to a set of dynamic performance metric names
C SYNOPSIS¶
#include <pcp/pmapi.h>
#include <pcp/impl.h>
#include <pcp/pmda.h>
int pmdaName(pmID pmid, char ***nameset, pmdaExt *pmda);
cc ... -lpcp_pmda -lpcp
DESCRIPTION¶
As part of the Performance Metrics Domain Agent (PMDA) API (see PMDA(3)), pmdaName is the generic callback for translating a pmid into one or more dynamic metric names (nameset).
Because implementing dynamic performance metrics requires specific PMDA support, and the facility is an optional component of a PMDA (most PMDAs do not support dynamic performance metrics), pmdaName is a skeleton implementation that returns PM_ERR_NAME.
A PMDA that supports dynamic performance metrics will provide a private callback that replaces pmdaName (by assignment to version.four.name of the pmdaInterface structure) and implements the translation from a pmid to a set of dynamic performance metric names returned via nameset. The behaviour, return values and memory allocation rules for nameset are the same as for pmNameAll(3).
DIAGNOSTICS¶
pmdaName returns PM_ERR_PMID if the name is not recognized or cannot be translated, otherwise the number of metric names found (most commonly 1).
CAVEAT¶
The PMDA must be using PMDA_PROTOCOL_4 or later, as specified in the call to pmdaDSO(3) or pmdaDaemon(3).
SEE ALSO¶
PMAPI(3), PMDA(3), pmdaDaemon(3), pmdaDSO(3), pmdaMain(3), pmNameAll(3) and pmNameID(3).
PCP | Performance Co-Pilot |